home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / engrave / engrave_part_state.h < prev    next >
C/C++ Source or Header  |  2006-01-09  |  12KB  |  321 lines

  1. #ifndef ENGRAVE_PART_STATE_H
  2. #define ENGRAVe_PART_STATE_H
  3.  
  4. /**
  5.  * @file engrave_part_state.h Engrave_Part_State object.
  6.  * @brief Contains all of the functions to work with an Engrave_Part_State object.
  7.  */
  8.  
  9. /**
  10.  * @defgroup Engrave_Part_State Engrave_Part_State: Functions to work with the Engrave_Part_State objects
  11.  *
  12.  * @{
  13.  */
  14.  
  15. /**
  16.  * The Engrave_Part_State typedef.
  17.  */
  18. typedef struct _Engrave_Part_State Engrave_Part_State;
  19.  
  20. /**
  21.  * Stores the information for the Engrave_Part_State object.
  22.  */
  23. struct _Engrave_Part_State
  24. {
  25.   char *name;               /**< The name of the state */
  26.   double value;             /**< The value assigned to the state */
  27.  
  28.   unsigned char visible;    /**< Flag for if the state is visible */
  29.  
  30.   /**
  31.    * Store the align and step information for the state */
  32.   struct
  33.   {
  34.     double x;   /** x value */
  35.     double y;   /** y value */
  36.   } align, step;
  37.  
  38.   /**
  39.    * The min and max settings for the state 
  40.    */
  41.   struct
  42.   {
  43.     int w;   /**< width value */
  44.     int h;   /**< height value */
  45.   } min, max;
  46.  
  47.   /**
  48.    * The aspect ratio settings for the state
  49.    */
  50.   struct
  51.   {
  52.     double w;       /**< The width */
  53.     double h;       /**< The height */
  54.     Engrave_Aspect_Preference prefer; /** The aspect flag */
  55.   } aspect;
  56.  
  57.   /**
  58.    * The relative orientation settings for the state 
  59.    */
  60.   struct
  61.   {
  62.     /**
  63.      * The relative positions
  64.      */
  65.     struct
  66.     {
  67.       double x; /**< The x position */
  68.       double y; /**< The y position */
  69.     } relative;
  70.    
  71.     /**
  72.      * The offset values 
  73.      */
  74.     struct
  75.     {
  76.       int x;  /**< The x value */
  77.       int y;  /**< The y value */
  78.     } offset;
  79.    
  80.     char *to_x;     /**< The x part relativity */
  81.     char *to_y;     /**< The y part relativity */
  82.   } rel1, rel2;
  83.  
  84.   /**
  85.    * image information for the state 
  86.    */
  87.   struct
  88.   {
  89.     Engrave_Image *normal;  /**< The image itself */
  90.     Evas_List *tween;       /**< List of tween images */
  91.  
  92.     /**
  93.      * The border information
  94.      */
  95.     struct
  96.     {
  97.       int l;  /**< Left value */
  98.       int r;  /**< Right value */
  99.       int t;  /**< Top value */
  100.       int b;  /**< Bottom value */
  101.     } border;
  102.   } image;
  103.  
  104.   char *color_class;    /**< Colour class setting */
  105.  
  106.   /**
  107.    * Colour settings for the state 
  108.    */
  109.   struct
  110.   {
  111.     int r;  /**< Red setting */
  112.     int g;  /**< Green setting */
  113.     int b;  /**< Blue setting */
  114.     int a;  /**< Alpha setting */
  115.   } color, color2, color3;
  116.  
  117.   /**
  118.    * Fill information for the state 
  119.    */
  120.   struct
  121.   {
  122.     int smooth;     /**< The smooth setting */
  123.  
  124.     /**
  125.      * relitivity settings for the fill position
  126.      */
  127.     struct
  128.     {
  129.       double x;     /**< The x value */
  130.       double y;     /**< The y value */
  131.     } pos_rel, rel;
  132.  
  133.     /**
  134.      * absolute settings for the fill position 
  135.      */
  136.     struct
  137.     {
  138.       int x;        /**< The x value */
  139.       int y;        /**< The y value */
  140.     } pos_abs, abs;
  141.   } fill;
  142.  
  143.   /**
  144.    * State text settings 
  145.    */
  146.   struct
  147.   {
  148.     char *text;         /**< The text string */
  149.     char *text_class;   /**< The text class */
  150.     char *font;         /**< The font to use */
  151.  
  152.     int size;           /**< Size to display as */
  153.  
  154.     /**
  155.      * Fit and min size information
  156.      */
  157.     struct {
  158.       int x;    /**< The x value */
  159.       int y;    /**< The y value */
  160.     } fit, min;
  161.  
  162.     /**
  163.      * Alignment settings for the text
  164.      */
  165.     struct {
  166.       double x; /**< The x value */
  167.       double y; /**< The y value */
  168.     } align;
  169.   } text;
  170.  
  171.   struct
  172.   {
  173.     Evas_Coord x;   /**< The x position to place the object */
  174.     Evas_Coord y;   /**< The y position to place the object */
  175.     Evas_Coord w;   /**< The width of the object */
  176.     Evas_Coord h;   /**< The hight of the object */
  177.   } pos;
  178.  
  179.   Evas_Object *object;  /**< The evas object used to display this state */
  180.  
  181.   void *parent; /**< Pointer to parent */
  182. };
  183.  
  184. Engrave_Part_State * engrave_part_state_new(void);
  185. void engrave_part_state_free(Engrave_Part_State *eps);
  186.  
  187. void engrave_part_state_parent_set(Engrave_Part_State *eps, void *ep);
  188. void *engrave_part_state_parent_get(Engrave_Part_State *eps);
  189.  
  190. void engrave_part_state_name_set(Engrave_Part_State *eps, const char *name, 
  191.                                                           double value);
  192. void engrave_part_state_visible_set(Engrave_Part_State *eps, int visible);
  193. void engrave_part_state_align_set(Engrave_Part_State *eps, double x, double y);
  194. void engrave_part_state_step_set(Engrave_Part_State *eps, double x, double y);
  195. void engrave_part_state_min_size_set(Engrave_Part_State *eps, int w, int h);
  196. void engrave_part_state_max_size_set(Engrave_Part_State *eps, int w, int h);
  197. void engrave_part_state_aspect_set(Engrave_Part_State *eps, double w, double h);
  198. void engrave_part_state_aspect_preference_set(Engrave_Part_State *eps,
  199.                                             Engrave_Aspect_Preference prefer);
  200. void engrave_part_state_rel1_relative_set(Engrave_Part_State *eps, 
  201.                                                         double x, double y);
  202. void engrave_part_state_rel1_offset_set(Engrave_Part_State *eps, int x, int y);
  203. void engrave_part_state_rel1_to_set(Engrave_Part_State *eps, const char *to);
  204. void engrave_part_state_rel1_to_x_set(Engrave_Part_State *eps, const char *to);
  205. void engrave_part_state_rel1_to_y_set(Engrave_Part_State *eps, const char *to);
  206.  
  207. void engrave_part_state_rel2_relative_set(Engrave_Part_State *eps, 
  208.                                                         double x, double y);
  209. void engrave_part_state_rel2_offset_set(Engrave_Part_State *eps, int x, int y);
  210. void engrave_part_state_rel2_to_set(Engrave_Part_State *eps, const char *to);
  211. void engrave_part_state_rel2_to_x_set(Engrave_Part_State *eps, const char *to);
  212. void engrave_part_state_rel2_to_y_set(Engrave_Part_State *eps, const char *to);
  213.  
  214. void engrave_part_state_image_normal_set(Engrave_Part_State *eps, 
  215.                                                     Engrave_Image *im);
  216. void engrave_part_state_image_tween_add(Engrave_Part_State *eps,
  217.                                                     Engrave_Image *im);
  218.  
  219. void engrave_part_state_image_border_set(Engrave_Part_State *eps, 
  220.                                         int l, int r, int t, int b);
  221. void engrave_part_state_color_class_set(Engrave_Part_State *eps,
  222.                                                         const char *class);
  223. void engrave_part_state_color_set(Engrave_Part_State *eps, 
  224.                                         int r, int g, int b, int a);
  225. void engrave_part_state_color2_set(Engrave_Part_State *eps, 
  226.                                         int r, int g, int b, int a);
  227. void engrave_part_state_color3_set(Engrave_Part_State *eps, 
  228.                                         int r, int g, int b, int a);
  229. void engrave_part_state_fill_smooth_set(Engrave_Part_State *eps,
  230.                                                         int smooth);
  231. void engrave_part_state_fill_origin_relative_set(Engrave_Part_State *state,
  232.                                                 double x, double y);
  233. void engrave_part_state_fill_size_relative_set(Engrave_Part_State *eps,
  234.                                                 double x, double y);
  235. void engrave_part_state_fill_origin_offset_set(Engrave_Part_State *eps,
  236.                                                       int x, int y);
  237. void engrave_part_state_fill_size_offset_set(Engrave_Part_State *eps,
  238.                                                 int x, int y);
  239.  
  240. void engrave_part_state_text_text_set(Engrave_Part_State *eps, 
  241.                                                         const char *text);
  242. void engrave_part_state_text_text_class_set(Engrave_Part_State *eps, 
  243.                                                         const char *text);
  244. void engrave_part_state_text_font_set(Engrave_Part_State *eps, 
  245.                                                         const char *font);
  246. void engrave_part_state_text_size_set(Engrave_Part_State *eps, int size);
  247. void engrave_part_state_text_fit_set(Engrave_Part_State *eps, int x, int y);
  248. void engrave_part_state_text_min_set(Engrave_Part_State *eps, int x, int y);
  249. void engrave_part_state_text_align_set(Engrave_Part_State *eps, 
  250.                                                         double x, double y);
  251. void engrave_part_state_copy(Engrave_Part_State *from, 
  252.                                           Engrave_Part_State *to);
  253.  
  254. const char *engrave_part_state_name_get(Engrave_Part_State *eps, double *val);
  255. int engrave_part_state_visible_get(Engrave_Part_State *eps);
  256. void engrave_part_state_align_get(Engrave_Part_State *eps,
  257.                                                       double *x, double *y);
  258. void engrave_part_state_step_get(Engrave_Part_State *eps,
  259.                                                       double *x, double *y);
  260. void engrave_part_state_min_size_get(Engrave_Part_State *eps, int *w, int *h);
  261. void engrave_part_state_max_size_get(Engrave_Part_State *eps, int *w, int *h);
  262. void engrave_part_state_aspect_get(Engrave_Part_State *eps,
  263.                                                       double *w, double *h);
  264. Engrave_Aspect_Preference
  265.     engrave_part_state_aspect_preference_get(Engrave_Part_State *eps);
  266. void engrave_part_state_rel1_relative_get(Engrave_Part_State *eps, 
  267.                                                       double *x, double *y);
  268. void engrave_part_state_rel1_offset_get(Engrave_Part_State *eps,
  269.                                                       int *x, int*y);
  270. const char *engrave_part_state_rel1_to_x_get(Engrave_Part_State *eps);
  271. const char *engrave_part_state_rel1_to_y_get(Engrave_Part_State *eps);
  272. void engrave_part_state_rel2_relative_get(Engrave_Part_State *eps, 
  273.                                                       double *x, double *y);
  274. void engrave_part_state_rel2_offset_get(Engrave_Part_State *eps,
  275.                                                       int *x, int*y);
  276. const char *engrave_part_state_rel2_to_x_get(Engrave_Part_State *eps);
  277. const char *engrave_part_state_rel2_to_y_get(Engrave_Part_State *eps);
  278. const char *engrave_part_state_color_class_get(Engrave_Part_State *eps);
  279. void engrave_part_state_color_get(Engrave_Part_State *eps, 
  280.                                   int *r, int *g, int *b, int *a);
  281. void engrave_part_state_color2_get(Engrave_Part_State *eps, 
  282.                                   int *r, int *g, int *b, int *a);
  283. void engrave_part_state_color3_get(Engrave_Part_State *eps, 
  284.                                   int *r, int *g, int *b, int *a);
  285. Engrave_Image *engrave_part_state_image_normal_get(Engrave_Part_State *eps);
  286. void engrave_part_state_image_border_get(Engrave_Part_State *eps,
  287.                                   int *l, int *r, int *t, int *b);
  288. const char *engrave_part_state_text_text_get(Engrave_Part_State *eps);
  289. const char *engrave_part_state_text_text_class_get(Engrave_Part_State *eps);
  290. const char *engrave_part_state_text_font_get(Engrave_Part_State *eps);
  291. int engrave_part_state_text_size_get(Engrave_Part_State *eps);
  292. void engrave_part_state_text_fit_get(Engrave_Part_State *eps,
  293.                                             int *x, int *y);
  294. void engrave_part_state_text_min_get(Engrave_Part_State *eps,
  295.                                             int *x, int *y);
  296. void engrave_part_state_text_align_get(Engrave_Part_State *eps,
  297.                                             double *x, double *y);
  298. int engrave_part_state_fill_smooth_get(Engrave_Part_State *eps);
  299. void engrave_part_state_fill_origin_relative_get(Engrave_Part_State *state,
  300.                                                 double *x, double *y);
  301. void engrave_part_state_fill_size_relative_get(Engrave_Part_State *eps,
  302.                                                 double *x, double *y);
  303. void engrave_part_state_fill_origin_offset_get(Engrave_Part_State *eps,
  304.                                                       int *x, int *y);
  305. void engrave_part_state_fill_size_offset_get(Engrave_Part_State *eps,
  306.                                                 int *x, int *y);
  307.  
  308. int engrave_part_state_tweens_count(Engrave_Part_State *eps);
  309. void engrave_part_state_tween_foreach(Engrave_Part_State *eps,
  310.                 void (*func)(Engrave_Image *, void *), void *data);
  311.  
  312. Evas_Object *engrave_part_state_evas_object_get(Engrave_Part_State *eps);
  313. void engrave_part_state_evas_object_set(Engrave_Part_State *eps, 
  314.                                                     Evas_Object *o);
  315. /**
  316.  * @}
  317.  */
  318.  
  319. #endif
  320.  
  321.